package com.qf;


import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
/*组合注解
@SpringBootConfiguration  -----等价于@Configuration  等价于--》applicationContext.xml
@EnableAutoConfiguration ----》@AutoConfigurationPackage---》 basePackages() default {}指定扫描包的类，但是没有指定值，
它的值就是这个注解标记在哪个类上方，哪个类的所在的包名就是它值，即：com.qf;如果创建了一个类不在com.qf下，那将无法扫描，没有满足默认的包规则
这个包下类会被ioc容器管理
    还会主动和第三方框架做自动集成，springboot可以第三方框架无配置集成（后面单独讲解）
@ComponentScan  -----》等价于@ComponentScan(basePackages = {"com.qf"}),里面没有指定值，值来至于上面的basePackages() default {}
* */
/*@Configuration//代表java配置类
@EnableAutoConfiguration//与主流框架做集成
@ComponentScan(basePackages = {"com.qf"})//扫描包*/
@MapperScan(basePackages = {"com.qf.mapper"})// MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring DAO接口所在包名，Spring会自动查找其下的类
public class Chapter3SpringbootApplication {
    /**
     1、程序从main方法开始运行
     2、使用SpringApplication.run()加载主程序类
     3、主程序类需要标注：@SpringBootApplication注解
     4、程序启动扫描加载主程序类所在的包

        等价于：ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);
     */
    public static void main(String[] args) {
        SpringApplication.run(Chapter3SpringbootApplication.class, args);
    }


}
